Head mounted display calibration using portable docking station with calibration target

ABSTRACT

A system is describes that includes a head mounted display (HMD) and a portable docking station configured to receive the HMD for calibration of one or more components of the HMD. The portable docking station includes at least one calibration target, e.g., a checkerboard pattern and/or a convex reflector. Techniques of this disclosure include calibrating an image capture device of the HMD based on one or more images of the calibration target captured by the image capture device when the HMD is placed in the portable docking station. The disclosed techniques may be applied to calibrate multiple different components of the HMD, including image capture devices such as eye-tracking cameras and inside-out cameras, displays, illuminators, sensors, and the like. In some examples, a rechargeable battery of the HMD may be charged when the HMD is placed in the portable docking station.

This application claims the benefit of U.S. Provisional Application No.62/785,595, filed Dec. 27, 2018, the entire content of which isincorporated herein by reference.

TECHNICAL FIELD

This disclosure generally relates to head mounted displays and, moreparticularly calibration of components within a head mounted display.

BACKGROUND

Artificial reality systems are becoming increasingly ubiquitous withapplications in many fields such as computer gaming, health and safety,industrial, and education. As a few examples, artificial reality systemsare being incorporated into mobile devices, gaming consoles, personalcomputers, movie theaters, and theme parks. In general, artificialreality is a form of reality that has been adjusted in some mannerbefore presentation to a user, which may include, e.g., a virtualreality (VR), an augmented reality (AR), a mixed reality (MR), a hybridreality, or some combination and/or derivatives thereof

Typical artificial reality systems include one or more devices forrendering and displaying content to users. As one example, an artificialreality system may incorporate a head mounted display (HMD) worn by auser and configured to output artificial reality content to the user.The HMD may include one or more components (e.g., image capture devices,illuminators, sensors, and the like) configured to capture images andother data used to compute a current pose (e.g., position andorientation) of a frame of reference, such as the HMD. The HMDselectively renders the artificial reality content for display to theuser based on the current pose.

SUMMARY

In general, this disclosure describes a system including a head mounteddisplay (HMD) and a portable docking station configured to receive theHMD for calibration of one or more components of the HMD. The portabledocking station includes at least one calibration target, e.g., acheckerboard pattern and/or a convex reflector. In some examples, theportable docking station may include fixtures to hold the HMD in a fixedposition and/or fiducial marks used to determine a position of the HMDwithin the portable docking station. Techniques of this disclosureinclude calibrating one or more image capture devices (e.g., cameras) ofthe HMD based on one or more images of the calibration target capturedby the image capture devices when the HMD is placed in the portabledocking station. A calibration engine, executed on the HMD or aperipheral device associated with the HMD, may perform the calibrationby determining intrinsic and/or extrinsic parameters of the imagecapture devices based on the captured images of the calibration targetand a spatial relationship between the position of the HMD and aposition of the calibration target within the portable docking station,and then configuring or re-configuring the image capture devices tooperate according to the determined parameters. The disclosed techniquesmay be applied to calibrate multiple different components of the HMD,including image capture devices such as eye-tracking cameras andinside-out cameras, displays, illuminators, sensors, and the like.

In some examples, a rechargeable battery of the HMD may be charged whenthe HMD is placed in the portable docking station. In this way, the oneor more components of the HMD may be calibrated during or immediatelyafter charging so as to not create an additional maintenance step for auser of the HMD. In some examples, the calibration of the one or morecomponents of the HMD may be triggered upon determining that the HMD hasbeen received by the portable docking station and/or determining thatthe rechargeable battery of the HMD is charged to at least a thresholdcharge level while the HMD is within the portable docking station.

In one example, this disclosure is directed to a system comprising a HMDcomprising at least one image capture device; a portable docking stationconfigured to receive the HMD, the portable docking station including atleast one calibration target that is within a field of view of the atleast one image capture device when the HMD is placed in the portabledocking station; and a processor executing a calibration engineconfigured to calibrate the at least one image capture device of the HMDbased on one or more images of the at least one calibration targetcaptured by the at least one image capture device when the HMD is placedin the portable docking station.

In another example, this disclosure is directed to a method comprisingreceiving, by a portable docking station, a HMD comprising at least oneimage capture device, wherein the portable docking station includes atleast one calibration target that is within a field of view of the atleast one image capture device when the HMD is placed in the portabledocking station; determining that the at least one image capture deviceof the HMD is to be calibrated; and calibrating the at least one imagecapture device of the HMD based on one or more images of the at leastone calibration target captured by the at least one image capture devicewhen the HMD is placed in the portable docking station.

In a further example, this disclosure is directed to a non-transitorycomputer-readable medium comprising instruction that, when executed,cause on or more processors to determine that a HMD has been received bya portable docking station, wherein the portable docking stationincludes at least one calibration target that is within a field of viewof at least one image capture device of the HMD when the HMD is placedin the portable docking station; determine that the at least one imagecapture device of the HMD is to be calibrated; and calibrate the atleast one image capture device of the HMD based on one or more images ofthe at least one calibration target captured by the at least one imagecapture device when the HMD is placed in the portable docking station.

The details of one or more examples of the techniques of this disclosureare set forth in the accompanying drawings and the description below.Other features, objects, and advantages of the techniques will beapparent from the description and drawings, and from the claims.

BRIEF DESCRIPTION OF DRAWINGS

FIGS. 1A-1C are illustrations depicting example HMDs having an eyeglassform factor and example portable docking stations configured to receivethe HMDs for calibration, in accordance with the techniques of thedisclosure.

FIG. 2 is an illustration depicting an example HMD having a headset formfactor and an example portable docking station configured to receive theHMD for calibration, in accordance with the techniques of thedisclosure.

FIG. 3 is a block diagram illustrating an example implementation of theHMD of FIGS. 1A-1C operating as a stand-alone, mobile artificial realitysystem.

FIG. 4 is an illustration depicting an example HMD having an eyeglassform factor, an example peripheral device, and an example portabledocking station configured to receive the HMD and the peripheral devicefor calibration, in accordance with the techniques of the disclosure.

FIG. 5 is a block diagram illustrating an example implementation of theHMD and peripheral device of FIG. 4 operating as an artificial realitysystem in accordance with the techniques of the disclosure.

FIG. 6 is a conceptual diagram illustrating example components of an HMDthat may be calibrated when the HMD is placed in a portable dockingstation.

FIG. 7 is a flowchart illustrating an example operation of calibratingcomponents of an HMD when placed in a portable docking station, inaccordance with the techniques of the disclosure.

Like reference characters refer to like elements throughout the figuresand description.

DETAILED DESCRIPTION

FIGS. 1A-1C are illustrations depicting example HMDs 112A-112B having aneyeglass form factor and example portable docking stations 120A-120Cconfigured to receive the HMDs for calibration, in accordance with thetechniques of the disclosure. Techniques are described in which one ormore image capture devices (e.g., cameras) of HMDs 112 are calibratedbased on one or more images of calibration targets captured by the imagecapture devices when the HMDs 112 are placed in respective portabledocking stations 120.

In general, each of HMDs 112 of FIGS. 1A-1C may operate as astand-alone, mobile artificial realty system, or may be part of anartificial reality system that includes a peripheral device and/or aconsole. In any case, the artificial reality system uses informationcaptured from a real-world, 3D physical environment to render artificialreality content for display to a user of the HMD. In the case of astand-alone, mobile artificial reality system (described in more detailwith respect to FIG. 3), each of HMDs 112 constructs and renders theartificial reality content itself.

In the case of an artificial reality system that includes a peripheraldevice and/or a console (described in more detail with respect to FIG.5), the peripheral device and/or the console may perform at least someof the construction and rendering of the artificial reality content fordisplay by the HMD. As one example, an HMD may be in communication with,e.g., tethered to or in wireless communication with, a console. Theconsole may be a single computing device, such as a gaming console,workstation, a desktop computer, or a laptop, or distributed across aplurality of computing devices, such as a distributed computing network,a data center, or a cloud computing system. As another example, an HMDmay be associated with a peripheral device that coexists with the HMDand, in some examples, operates as an auxiliary input/output device forthe HMD in a virtual environment. The peripheral device may operate asan artificial reality co-processing device to which some of thefunctions of the HMD are offloaded. In some examples, the peripheraldevice may be a smartphone, tablet, or other hand-held device.

FIG. 1A is an illustration depicting HMD 112A both outside of andreceived within portable docking station 120A. In the example of FIG.1A, HMD 112A comprises an eyeglass form factor that includes a rigidframe front 102 having two eyepieces connected by a nose bridge and twotemples or arms 104A and 104B (collectively, “arms 104”) that fit over auser's ears to secure HMD 112A to the user. In addition, in place oflenses in a traditional pair of eyeglasses, HMD 112A includesinterior-facing electronic display 103 configured to present artificialreality content to the user. Electronic display 103 may be any suitabledisplay technology, such as liquid crystal displays (LCD), quantum dotdisplay, dot matrix displays, light emitting diode (LED) displays,organic light-emitting diode (OLED) displays, waveguide displays,cathode ray tube (CRT) displays, e-ink, or monochrome, color, or anyother type of display capable of generating visual output. In someexamples, electronic display 103 is a stereoscopic display for providingseparate images to each eye of the user. In some examples, the knownorientation and position of display 103 relative to the rigid framefront 102 of HMD 112A is used as a frame of reference, also referred toas a local origin, when tracking the position and orientation of HMD112A for rendering artificial reality content according to a currentperspective of HMD 112A and the user.

As further shown in FIG. 1A, in this example HMD 112A further includesone or more motion sensors 106, such as one or more accelerometers (alsoreferred to as inertial measurement units or “IMUs”) that output dataindicative of current acceleration of HMD 112A, global positioningsystem (GPS) sensors that output data indicative of a location of HMD112A, radar, or sonar that output data indicative of distances of HMD112A from various objects, or other sensors that provide indications ofa location or orientation of HMD 112A or other objects within a physicalenvironment.

Moreover, HMD 112A may include one or more integrated image capturedevices, such as video cameras, laser scanners, Doppler® radar scanners,depth scanners, or the like. For example, as illustrated in FIG. 1A, HMD112A includes inside-out cameras 108A and 108B (collectively,“inside-out cameras 108”) configured to capture image datarepresentative of the physical environment surrounding the user. HMD112A also includes eye-tracking cameras 114A and 114B (collectively“eye-tracking cameras 114”) configured to capture image datarepresentative of a direction of the user's gaze. HMD 112A includesilluminators 116A and 116B (collectively “illuminators 116”) positionedaround or proximate to the eyepieces of rigid frame front 102.Illuminators 116 may comprise an array of light-emitting diodes (LEDs)or other sources of light, e.g., invisible light such as infrared light,used to illuminate the user's eyes for purposes of gaze-tracking byeye-tracking cameras 114. In other examples, HMD 112A may includeadditional image capture devices, including one or more glabella camerasconfigured to capture image data used to determine a distance betweenthe rigid frame front 102 of HMD 112 and the user's forehead, one ormore mouth cameras configured to capture image data of the user's mouthused for speech recognition, and/or one or more lower temporal camerasconfigured to capture image data used to determine a distance betweenarms 104 of HMD 112A and side areas of the user's face.

As shown in FIG. 1A, HMD 112A includes an internal control unit 110,which may include an internal power source, e.g., a rechargeablebattery, and one or more printed-circuit boards having one or moreprocessors, memory, and hardware to provide an operating environment forexecuting programmable operations to process sensed data and presentartificial reality content on display 103. Internal control unit 110 ofHMD 112A is described in more detail with respect to FIGS. 3 and 5.

As described in this disclosure, portable docking station 120A isconfigured to receive HMD 112A for calibration of one or more componentsof HMD 112A. For example, portable docking station 120A may be used tocalibrate one or more of inside-out cameras 108 and eye-tracking cameras114 of HMD 112A. In additional examples, portable docking station 120Amay be used to calibrate one or more of electronic display 103, sensors106, or illuminators 116. In some examples, the components of HMD 112Amay exhibit drift of key parameters over their lifetime, which may leadto an undesirable degradation of performance of the entire HMD 112A.Although HMDs could be re-calibrated at a factory or manufacturingcenter where the components may have been initially calibrated, this israrely done in practice due to associated shipping and re-calibrationcosts. Furthermore, the performance degradation of the components ofHMDs may be rather slow and go unnoticed for extended periods of timesuch that it may be difficult for a user to determine whenre-calibration becomes necessary. Portable docking station 120Adescribed herein enables calibration or re-calibration of the componentsof HMD 112A outside of the factory or manufacturing center. In this way,portable docking station 120A and the calibration techniques describedherein may determine parameters of the components of HMD 112A and adjustthe parameters to correct for changes from the initial calibrationsettings, which may occur as the materials and parameters of thecomponents of HMD 112A change over time.

In one example, as illustrated in FIG. 1A, portable docking station 120Acomprises a box form factor having a bottom and four sides and beingsized to receive HMD 112A. Although not shown in FIG. 1A, portabledocking station 120A may include a removable top cover used to fullyenclose HMD 112A within portable docking station 120A. In some examples,portable docking station 120A may further include a handle or strap inorder to be used as a carrying case for HMD 112A. Although the exampleportable docking stations are described herein as having a box formfactor that partially or fully encloses an HMD, in other examples, aportable docking station may instead comprise a stand having one or moresupports to receive an HMD relative to one or more calibration targets.

In some implementations, portable docking station 120A may be configuredto provide access to a power supply used to recharge HMD 112A whenplaced in portable docking station 120A. For example, portable dockingstation 120A may include its own battery and/or may be plugged into anelectrical wall outlet or other external power supply. Portable dockingstation 120A may then provide a charging current to the rechargeablebattery of HMD 112A via either wired charging or wireless (i.e.,inductive) charging. In this way, the components of HMD 112A may becalibrated during or immediately after charging so as to not create anadditional maintenance step for the user of HMD 112A. In some examples,the calibration of the components of HMD 112A may be triggered upondetermining that HMD 112A has been received by portable docking station120A and/or determining that the rechargeable battery of HMD 112A ischarged to at least a threshold charge level while HMD 112A is withinportable docking station 120A.

In the example of FIG. 1A, portable docking station 120A includesfixtures 124A and 124B (collectively “fixtures 124”) and a nose rest 126configured to receive and hold HMD 112A in a fixed position withinportable docking station 120A. Fixtures 124 may comprise magnets orstructural features configured to engage with a portion of arms 104 ofHMD 112A to hold HMD 112A in the fixed position. Similarly, in someexamples, nose rest 126 may comprise magnets or structural featuresconfigured to engage with a portion of the nose bridge of rigid framefront 102 of HMD 112A. Portable docking station 120A also includescalibration target 122A as a checkerboard pattern on the interior backsurface directly behind arms 104 of HMD 112A and calibration target 122Bas a checkerboard pattern on the interior front surface directly infront of rigid frame front 102 of HMD 112A. In some examples, additionalcalibration targets may be included on the left and right interiorsurfaces of portable docking station 120A. Calibration targets 122A,122B are positioned in portable docking station 120A so as to be withina field of view of at least one image capture device of HMD 112A, e.g.,at least one of inside-out cameras 108 or eye-tracking cameras 114, whenHMD 112A is placed in portable docking station 120A. In some examples,the checkerboard patterns of calibration targets 122A, 122B may comprisereflective surfaces and/or infrared (IR) emitters. In still otherexamples, portable docking station 120A may include diffuse IR emitters,e.g., diffuse IR LEDs, to illuminate calibration targets 122A, 122B.

Although calibration targets 122A, 122B are illustrated in FIG. 1A ascheckboard patterns, in other examples, portable docking station 120Amay include other calibration targets having different visual patterns.Checkerboard patterns, or more generally any test patterns comprising anarray of dots or other visual markers such as lines, crosshairs,polygons, circles, ovals, or the like, may be used for calibration offocusing, image resolution, and/or image distortion of various imagecapture devices of HMD 112A. In some examples, portable docking station120A may include other types of calibration targets, such as IR emittersand/or reflective surfaces such as convex reflectors. As described inmore detail with respect to FIG. 6, convex reflectors comprise mirroredconvex surfaces that may be positioned directly behind the eyepieces ofan HMD to mimic a user's eyes for calibration purposes.

According to the techniques described in this disclosure, an imagecapture device of HMD 112A is calibrated based on one or more images ofcalibration targets 122A, 122B captured by the image capture device whenHMD 112A is placed in portable docking station 120A. A calibrationengine, executed on HMD 112A or a peripheral device associated with HMD112A, may perform the calibration by determining intrinsic and/orextrinsic parameters of the image capture device based on the capturedimages of calibration targets 122A, 122B and a known spatialrelationship between the fixed position of HMD 112A and the position ofcalibration targets 122A, 122B within portable docking station 120A. Thecalibration engine may then configure or re-configure the image capturedevice to operate according to the determined parameters.

As one example, eye-tracking cameras 114 of HMD 112A may be calibratedbased on the known spatial relationship between the fixed position ofHMD 112A and the position of calibration target 122A within portabledocking station 120A. As described in more detail with respect to FIG.6, eye-tracking cameras 114 are positioned within the eyepieces of HMD112A so as to capture images of a hot mirror reflection of the user'seyes when wearing HMD 112A. In this way, when HMD 112A is placed inportable docking station 120A, eye-tracking cameras 114 are able tocapture images of calibration target 122A positioned behind theeyepieces of HMD 112A. In some examples, eye-tracking cameras 114 may bepositioned within the eyepieces of HMD 112A so as to also capture imagesof electronic display 103 as well as illuminators 116 and calibrationtarget 122B positioned in front of the eyepieces of HMD 112A. In orderto calibrate eye-tracking camera 114A, for example, the calibrationengine may determine intrinsic parameters of eye-tracking camera 114Abased on images of the checkerboard pattern of calibration target 122Acaptured by eye-tracking camera 114A and the known spatial relationshipbetween the fixed position of HMD 112A and the position of calibrationtarget 122A. Continuing the example, the calibration engine maydetermine extrinsic parameters of eye-tracking camera 114A based onimages of light emitted by illuminator 116A and reflected by a convexreflector (not shown in FIG. 1A) captured by eye-tracking camera 114Aand a known spatial relationship between the fixed position of HMD 112Aand a position of the convex reflector calibration target. Thecalibration engine may then configure eye-tracking camera 114A tooperate according to the determined intrinsic and extrinsic parameters.

As another example, inside-out cameras 108 of HMD 112A may be calibratedbased on a known spatial relationship between the fixed position of HMD112A and the position of calibration target 122B within portable dockingstation 120A. In order to calibrate inside-out camera 108A, for example,the calibration engine may at least determine intrinsic parameters ofinside-out camera 108A based on images of the checkerboard pattern ofcalibration target 122B captured by inside-out camera 108A and the knownspatial relationship between the fixed position of HMD 112A and theposition of calibration target 122B, and then configure inside-outcamera 108A to operate according to the determined intrinsic parameters.

In further examples, the calibration engine may calibrate one or more ofelectronic display 103, illuminators 116, or sensors 106 with respect toat least one of the image capture devices of HMD 112A. For example, thecalibration engine may calibrate electronic display 103 based on one ormore images produced on electronic display 103 that are captured by oneor more reference cameras (not shown in FIG. 1A) included in portabledocking station 120A that are positioned directly behind the eyepiecesof HMD 112 to mimic a user's eyes for calibration purposes. In someexamples, illuminators 116 may be positioned directly on electronicdisplay 103 such that illuminators 116 are within a field of view ofboth eye-tracking cameras 114 and the reference cameras used tocalibrate electronic display 103.

FIG. 1B is an illustration depicting HMD 112B received within portabledocking station 120B. HMD 112B may include components substantiallysimilar to those of HMD 112A from FIG. 1A and the same reference numbersfor the components of HMD 112A will be used with respect to HMD 112B.

As illustrated in FIG. 1B, HMD 112B includes calibration targets 130Aand 130B (collectively “calibration targets 130”) and fiducial marks132A-132D (collectively “fiducial marks 132”) positioned along arms 104of HMD 112B. Calibration targets 130 are positioned at locations alongarms 104 of HMD 112B so as to be within a field of view of eye-trackingcameras 114 of HMD 112B when the arms 104 are folded for placement ofHMD 112B in portable docking station 120B. In the example of FIG. 1B,fiducial marks 132A and 132B are positioned adjacent to calibrationtarget 130A on arm 104A of HMD 112B and fiducial marks 132C and 132D arepositioned adjacent to calibration target 130B on arm 104B of HMD 112B.Although illustrated in FIG. 1B as having a round target-like pattern,this is just one example pattern, shape, or form factor of fiducialmarks. In other examples fiducial marks 132 may comprise a non-roundpattern, shape, or form factor. In still other examples, one or morefiducial marks may be embedded within calibration targets 130. Thepositions of fiducial marks 132 may ensure that at least one of fiducialmarks 132 is within the field of view of eye-tracking cameras 114 alongwith a respective one of calibration targets 130.

Portable docking station 120B may be substantially similar to portabledocking station 120A from FIG. 1A. As illustrated in FIG. 1B, portabledocking station 120B includes fixtures 124 and nose rest 126 configuredto receive and hold HMD 112B in a fixed position relative portabledocking station 120B. Portable docking station 120B also includes acalibration target 128 as a checkerboard pattern on the interior frontsurface of portable docking station 120B directly in front of rigidframe front 102 of HMD 112B. As illustrated in FIG. 1B, portable dockingstation 120B may not have a calibration target on the interior backsurface if intended for use with HMD 112B having calibration targets130. In other examples, portable docking station 120B may includeadditional calibration targets on the back, left, and/or right interiorsurfaces.

As described above with respect to FIG. 1A, inside-out cameras 108 ofHMD 112B may be calibrated based on a known spatial relationship betweenthe fixed position of HMD 112B and the position of calibration target128 within portable docking station 120B. For example, a calibrationengine, executed on HMD 112B or a peripheral device associated with HMD112B, may at least determine intrinsic parameters of inside-out camera108A based on images of the checkerboard pattern of calibration target128 captured by inside-out camera 108A and the known spatialrelationship between the fixed position of HMD 112B and the position ofcalibration target 128, and then configure inside-out camera 108A tooperate according to the determined intrinsic parameters.

With respect to calibration of eye-tracking cameras 114 of HMD 112B,however, rigid frame front 102 and arms 104 of HMD 112B may flex and/orwarp over time and with repeated use. As such, even though HMD 112B isheld at a fixed position relative to portable docking station 120B, thespatial relationship between eye-tracking cameras 114 within theeyepieces of rigid frame front 102 of HMD 112B and calibration targets130 on arms 104 of HMD 112B is likely to change over time. In thisexample, the calibration engine determines the spatial relationshipbetween a position of eye-tracking camera 114A, for example, withinrigid frame front 102 and calibration target 130A on arm 104A based onone or more of fiducial marks 132A, 132B. The calibration engine thencalibrates eye-tracking camera 114A based the determined spatialrelationship between the position of eye-tracking camera 114A in rigidframe front 102 and the position of calibration target 130A on arm 104A.For example, the calibration engine may at least determine intrinsicparameters of eye-tracking camera 114A based on images of thecheckerboard pattern of calibration target 130A captured by eye-trackingcamera 114A and the determined spatial relationship between the positionof eye-tracking camera 114A and the position of calibration target 130A,and then configure eye-tracking camera 114A to operate according to thedetermined intrinsic parameters.

FIG. 1C is an illustration depicting HMD 112A received within portabledocking station 120C. In this example, HMD 112A of FIG. 1C may besubstantially the same as HMD 112A of FIG. 1A. Moreover, portabledocking station 120C may be substantially similar to portable dockingstation 120A from FIG. 1A.

As illustrated in FIG. 1C, portable docking station 120C includescalibration target 122A as a checkerboard pattern on the interior backsurface directly behind arms 104 of HMD 112A and calibration target 122Bas a checkerboard pattern on the interior front surface directly infront of rigid frame front 102 of HMD 112A. Unlike docking stations 120Aand 120B of FIGS. 1A and 1B, however, portable docking station 120C doesnot include any fixtures configured to receive and hold HMD 112A in afixed position within portable docking station 120C. Instead, portabledocking station 120C includes fiducial marks 138A on the interior backsurface directly behind arms 104 of HMD 112A and fiducial marks 138B onthe interior front surface directly in front of rigid frame front 102 ofHMD 112A.

In this example, HMD 112A may be placed freely in portable dockingstation 120C and fiducial marks 138A, 138B may be used to determine theposition of HMD 112A with respect to portable docking station 120C. Morespecifically, fiducial marks 138A, 138B may be used to determine aspatial relationship between the position of HMD 112A when placed inportable docking station 120C and positions of respective calibrationtargets 122A, 122B within portable docking station 120C. In the exampleof FIG. 1C, fiducial marks 138A are positioned adjacent to calibrationtarget 122A and fiducial marks 138B are positioned adjacent tocalibration target 122B. Although illustrated in FIG. 1C as having around target-like pattern, this is just one example pattern, shape, orform factor of fiducial marks. In other examples one or more of fiducialmarks 138A, 138B may comprise a non-round pattern, shape, or formfactor. In still other examples, one or more fiducial marks may beembedded within calibration targets 122A, 122B. In some examples,portable docking station 120C may include diffuse IR emitters, e.g.,diffuse IR LEDs, to illuminate both calibration targets 122A, 122B andfiducial marks 138A, 138B. The positions of fiducial marks 138A mayensure that at least one of fiducial marks 138A is within the field ofview of eye-tracking cameras 114 along with calibration target 122A.Similarly, the positions of fiducial marks 138B may ensure that at leastone of fiducial marks 138B is within the field of view of inside-outcameras 108 along with calibration target 122B.

As one example, in order to calibrate eye-tracking camera 114A, forexample, the calibration engine determines the spatial relationshipbetween the position of HMD 112A and the position of calibration target122A within portable docking station 120C based on one or more offiducial marks 138A. The calibration engine may at least determineintrinsic parameters of eye-tracking camera 114A based on images of thecheckerboard pattern of calibration target 122A captured by eye-trackingcamera 114A and the determined spatial relationship between the positionof HMD 112A and the position of calibration target 122A, and thenconfigure eye-tracking camera 114A to operate according to thedetermined intrinsic parameters.

As another example, in order to calibrate inside-out camera 108A, forexample, the calibration engine determines the spatial relationshipbetween the position of HMD 112A and the position of calibration target122B within portable docking station 120C based on one or more offiducial marks 138B. The calibration engine may at least determineintrinsic parameters of inside-out camera 108A based on images of thecheckerboard pattern of calibration target 122B captured by inside-outcamera 108A and the determined spatial relationship between the positionof HMD 112A and the position of calibration target 122B, and thenconfigure inside-out camera 108A to operate according to the determinedintrinsic parameters.

FIG. 2 is an illustration depicting an example HMD 212 having a headsetform factor and an example portable docking station 220 configured toreceive HMD 212 for calibration, in accordance with the techniques ofthe disclosure. Similar to HMDs 112A, 112B described with respect toFIGS. 1A-1C, HMD 212 may operate as a stand-alone, mobile artificialrealty system, or may be part of an artificial reality system thatincludes a peripheral device and/or a console.

In the example of FIG. 2, HMD 212 comprises a headset form factor thatincludes a rigid body 202 and a band 204 to secure HMD 212 to a user. Inaddition, HMD 212 includes an interior-facing electronic display 203configured to present artificial reality content to the user. Electronicdisplay 203 may be any suitable display technology, such as LCD, quantumdot display, dot matrix displays, LED displays, OLED displays, CRTdisplays, waveguide displays, e-ink, or monochrome, color, or any othertype of display capable of generating visual output. In some examples,the electronic display is a stereoscopic display for providing separateimages to each eye of the user. In some examples, the known orientationand position of display 203 relative to a front-portion of rigid body202 of HMD 212 is used as a frame of reference, also referred to as alocal origin, when tracking the position and orientation of HMD 212 forrendering artificial reality content according to a current viewingperspective of HMD 212 and the user.

As further shown in FIG. 2, in this example HMD 212 further includes oneor more motion sensors 206, such as one or more accelerometers or IMUsthat output data indicative of current acceleration of HMD 212, GPSsensors that output data indicative of a location of HMD 212, radar orsonar that output data indicative of distances of HMD 212 from variousobjects, or other sensors that provide indications of a location ororientation of HMD 212 or other objects within a physical environment.

Moreover, HMD 212 may include one or more integrated image capturedevices, such as video cameras, laser scanners, Doppler® radar scanners,depth scanners, or the like. For example, as illustrated in FIG. 2, HMD212 includes inside-out cameras 208A and 208B (collectively, “inside-outcameras 208”) configured to capture image data representative of thephysical environment surrounding the user. HMD 212 also includeseye-tracking cameras 214A and 214B (collectively “eye-tracking cameras214”) configured to capture image data representative of a direction ofthe user's gaze. HMD 212 includes illuminators 216A and 216B(collectively “illuminators 216”) positioned around or proximate toeyepieces within rigid body 202. Illuminators 216 may comprise an arrayof LEDs or other sources of light, e.g., invisible light such asinfrared light, used to illuminate the user's eyes for purposes ofgaze-tracking by eye-tracking cameras 214. In other examples, HMD 212may include additional image capture devices, including one or moreglabella cameras configured to capture image data used to determine adistance between a front-portion of rigid body 202 of HMD 212 and theuser's forehead, one or more mouth cameras configured to capture imagedata of the user's mouth used for speech recognition, and/or one or morelower temporal cameras configured to capture image data used todetermine a distance between side-portions of rigid body 202 of HMD 212and side areas of the user's face.

As shown in FIG. 2, HMD 212 includes an internal control unit 210, whichmay include an internal power source, e.g., a rechargeable battery, andone or more printed-circuit boards having one or more processors,memory, and hardware to provide an operating environment for executingprogrammable operations to process sensed data and present artificialreality content on display 203.

Portable docking station 220 may operate substantially similar to any ofportable docking stations 120A-120C from FIGS. 1A-1C. As described inthis disclosure, portable docking station 220 is configured to receiveHMD 212 for calibration of one or more components of HMD 212. Asillustrated in FIG. 2, portable docking station 220 comprises a box formfactor having a bottom and four sides and being sized to receive HMD212. As shown in FIG. 2, portable docking station 220 includes aremovable top cover 221 used to fully enclose HMD 212 within portabledocking station 220. In some examples, portable docking station 220 mayfurther include a handle or strap in order to be used as a carrying casefor HMD 212. Portable docking station 220 may also provide access to apower supply used to recharge HMD 212 when placed in portable dockingstation 220 via either wired charging or wireless (i.e., inductive)charging. In some examples, the calibration of the components of HMD 212may be triggered upon determining that HMD 212 has been received byportable docking station 220 and/or determining that the rechargeablebattery of HMD 212 is charged to at least a threshold charge level whileHMD 212 is within portable docking station 220.

As illustrated in FIG. 2, portable docking station 220 includescalibration target 222A as a checkerboard pattern on the interior backsurface directly behind rigid body 202 of HMD 212 and calibration target222B as a checkerboard pattern on the interior front surface directly infront of rigid body 202 of HMD 212. In some examples, additionalcalibration targets may be included on the left and right interiorsurfaces of portable docking station 220. Calibration targets 222A, 222Bare positioned in portable docking station 220 so as to be within afield of view of at least one image capture device of HMD 212, e.g., atleast one of inside-out cameras 208 or eye-tracking cameras 214, whenHMD 212 is placed in portable docking station 220. Although calibrationtargets 222A, 222B are illustrated in FIG. 2 as checkboard patterns, inother examples, portable docking station 220 may include other types ofcalibration targets, such as different visual patterns or convexreflectors.

In one example, portable docking station 220 may include one or morefixtures (not shown in FIG. 2) configured to receive and hold HMD 212 ina fixed position within portable docking station 220. In this example, acalibration engine, executed on HMD 212 or a peripheral deviceassociated with HMD 212, may perform calibration of an image capturedevice of HMD 212 (e.g., inside-out camera 208A, 208B or eye-trackingcamera 214A, 214B) by determining intrinsic and/or extrinsic parametersof the image capture device based on captured images of calibrationtargets 222A, 222B and a known spatial relationship between the fixedposition of HMD 212 and the position of calibration targets 222A, 222Bwithin portable docking station 220. The calibration engine thenconfigures the image capture device of HMD 212 to operate according tothe determined parameters.

In other examples, portable docking station 220 may not include anyfixtures configured to receive and hold HMD 212 in a fixed positionwithin portable docking station 220. Instead, portable docking station220 may include one or more fiducial marks (not shown in FIG. 2)positioned adjacent to or embedded within calibration targets 222A,222B. In this example, the calibration engine is configured to use thefiducial marks to determine a spatial relationship between the positionof HMD 212 when placed in portable docking station 220 and positions ofrespective calibration targets 222A, 222B within portable dockingstation 220. The calibration engine may then perform calibration of animage capture device of HMD 212 by determining intrinsic and/orextrinsic parameters of the image capture device based on capturedimages of calibration targets 222A, 222B and the determined spatialrelationship between the position of HMD 212 and the position ofcalibration targets 222A, 222B within portable docking station 220. Thecalibration engine then configures the image capture device of HMD 212to operate according to the determined parameters.

FIG. 3 is a block diagram illustrating an example implementation of HMD112 (e.g., HMD 112A or 112B) of FIGS. 1A-1C operating as a stand-alone,mobile artificial reality system. In this example, HMD 112 includes oneor more processors 302 and memory 304 that, in some examples, provide acomputer platform for executing an operating system 318, which may be anembedded, real-time multitasking operating system, for instance, oranother type of operating system. In turn, operating system 318 providesa multitasking operating environment for executing one or more softwarecomponents 330. In some examples, processors 302 and memory 304 may beseparate, discrete components. In other examples, memory 304 may beon-chip memory collocated with processors 302 within a single integratedcircuit. Processors 302 may comprise any one or more of a multi-coreprocessor, a controller, a digital signal processor (DSP), anapplication specific integrated circuit (ASIC), a field-programmablegate array (FPGA), or equivalent discrete or integrated logic circuitry.Memory 304 may comprise any form of memory for storing data andexecutable software instructions, such as random-access memory (RAM),read only memory (ROM), programmable read only memory (PROM), erasableprogrammable read only memory (EPROM), electronically erasableprogrammable read only memory (EEPROM), and flash memory.

As illustrated in FIG. 3, processors 302 are coupled to electronicdisplay 103, sensors 106, image capture devices 308 (e.g., inside-outcameras 108 and/or eye-tracking cameras 114), and illuminators 116. HMD112 further includes a rechargeable battery 306 coupled to a chargingcircuit 310. Charging circuit 310 is configured to receive a chargingcurrent via either a wired or wireless (i.e., inductive) connection anduse the received current to recharge battery 306.

Software components 330 operate to provide an overall artificial realityapplication. In this example, software applications 330 includeapplication engine 320, rendering engine 322, pose tracker 326, andcalibration engine 324. In general, application engine 320 includesfunctionality to provide and present an artificial reality application,e.g., a teleconference application, a gaming application, a navigationapplication, an educational application, training or simulationapplications, and the like. Application engine 320 may include, forexample, one or more software packages, software libraries, hardwaredrivers, and/or Application Program Interfaces (APIs) for implementingan artificial reality application on HMD 112.

Application engine 320 and rendering engine 322 construct the artificialcontent for presentation to a user of HMD 112 in accordance with currentpose information for a frame of reference, typically a viewingperspective of HMD 112, as determined by pose tracker 326. Based on thecurrent viewing perspective, rendering engine 322 constructs the 3D,artificial reality content which may be overlaid, at least in part, uponthe real-world 3D environment of the user. During this process, posetracker 326 operates on sensed data, such as movement information anduser commands, and, in some examples, data from any external sensors,such as external cameras, to capture 3D information within the realworld environment, such as motion and/or feature tracking informationwith respect to the user of HMD 112. Based on the sensed data, posetracker 326 determines a current pose for the frame of reference of HMD112 and, in accordance with the current pose, rendering engine 322constructs the artificial reality content for presentation to the useron electronic display 103.

In accordance with the disclosed techniques, calibration engine 324 isconfigured to perform calibration of one or more components of HMD 112based on one or more images of a calibration target captured by imagecapture devices 308 when HMD 112 is placed in a portable dockingstation, e.g., any of portable docking stations 120A-120C from FIGS.1A-1C. For example, calibration engine 324 may be configured to performcalibration of one or more of image capture devices 308 (e.g.,inside-out cameras 108 and/or eye-tracking cameras 114), electronicdisplay 103, sensors 106, and/or illuminators 116. Calibration engine324 performs the calibration by determining intrinsic and/or extrinsicparameters 328 of the respective components, and configuring therespective components to operate according to the determined parameters.

In one or more aspects, parameters 328 of the components of HMD 112(e.g., image capture devices 308, electronic display 103, sensors 106,and illuminators 116) may be stored in a database, a map, a search tree,or any other data structure. For example, parameters 328 may includecamera parameters for each of image capture devices 308 of HMD 112. Thecamera parameters may be estimated based on a correspondence between 3Dreal-world coordinates and 2D image coordinates that is determined usingmultiple images of a calibration pattern, e.g., a checkerboard pattern.Camera parameters may include intrinsic and extrinsic parameters, and insome cases lens distortion parameters. The 3D real-world coordinates aretransformed to 3D camera coordinates using extrinsic parameters and the3D camera coordinates are mapped into the 2D image coordinates using theintrinsic parameters. Example extrinsic parameters of a camera includethe rotation and translation used to transform from the 3D real-worldcoordinates to the 3D camera coordinates. Example intrinsic parametersof the camera may include the focal length (i.e., how strongly thecamera converges or diverges light), the principal point (i.e., theposition of the optical center), and the skew coefficient (i.e., thedistortion of the image axes from perpendicular) used to map the 3Dcamera coordinates into the 2D image coordinates. In some examples, theparameters may also include lens distortion parameters (i.e., radialdistortion at the edges of the lens and tangential distortion betweenthe lens and the camera sensor image plane).

Calibration engine 324 may be triggered to perform calibration upondetermining that HMD 112 has been received by a portable docking stationand/or upon determining that rechargeable battery 306 is charged to atleast a threshold charge level while HMD 112 is within the portabledocking station. For example, calibration engine 324 may receive anindication that a portion of HMD 112 is engaged with or adjacent to aportion of the portable docking station. In this example, calibrationengine 324 may receive the indication from a proximity sensor or amagnetic sensor included in HMD 112 and/or the portable docking station.As another example, calibration engine 324 may receive an additionalindication from charging circuit 310 that rechargeable battery 306 ischarged to the threshold charge level.

In some examples, each time HMD 112 is placed in the portable dockingstation, calibration engine 324 is configured to automatically calibrateeach of the components of HMD 112. In other examples, each time HMD 112is placed in the portable docking station, calibration engine 324 maymake a determination as to whether or not each of the components of HMD112 needs to be calibrated. The calibration determination may be basedon an amount of time since the last calibration and/or identifiedchanges from initial calibration settings that occur as the materialsand parameters of the components of HMD 112 change over time.

In the case of calibrating one of image capture devices 308, calibrationengine 324 performs the calibration by determining intrinsic and/orextrinsic parameters 328 of the one of image capture devices 308 basedon captured images of a calibration target and a spatial relationshipbetween a position of HMD 112 and a position of the calibration targetwithin the portable docking station. Calibration engine 324 may beconfigured to update or adjust the parameters to correct for changesfrom initial calibration settings of the one of image capture device308. Calibration engine 324 then configures the one of image capturedevices 308 to operate according to the determined parameters.

In order to determine the parameters, calibration engine 324 maydetermine the spatial relationship between the position of HMD 112 andthe position of the calibration target within the portable dockingstation. In examples where the portable docking station includesfixtures to receive and hold the HMD in a fixed position (e.g., portabledocking station 120A, 120B from FIGS. 1A, 1B), the spatial relationshipis a known spatial relationship. In other examples where the portabledocking station does not includes fixtures (e.g., portable dockingstation 120C from FIG. 1C), calibration engine 324 may determine thespatial relationship between the position of HMD 112 and the position ofthe calibration target within the portable docking station based on oneor more fiducial marks adjacent to or embedded within the calibrationtarget. Upon calibration of the one of image capture devices 308,calibration engine 326 stores the updated intrinsic and/or extrinsicparameters 328 of the one of image capture devices 308. Calibrationengine 324 may then further calibrate electronic display 103, one ofilluminators 116, or one of sensors 106 with respect to the one of imagecapture devices 308. For example, calibration engine 324 may calibrateelectronic display 103, one of illuminators 116, or one of sensors 106based on images of a calibration target captured by the previouslycalibrated one of image capture devices 308.

FIG. 4 is an illustration depicting an example HMD 112B having aneyeglass form factor, an example peripheral device 150, and an exampleportable docking station 120D configured to receive the HMD and theperipheral device for calibration, in accordance with the techniques ofthe disclosure. HMD 112B of FIG. 4 is the same as HMD 112B of FIG. 1B.In the example of FIG. 4, HMD 112B is part of an artificial realitysystem that includes peripheral device 150. The artificial realitysystem uses information captured from a real-world, 3D physicalenvironment to render artificial reality content for display to a userof HMD 112B. Peripheral device 150 coexists with HMD 112B and, in someexamples, operates as an auxiliary input/output device for HMD 112B in avirtual environment. Peripheral device 150 may operate as an artificialreality co-processing device to which some of the functions of HMD 112Bare offloaded. In some examples, peripheral device 150 may be asmartphone, tablet, or other hand-held device.

Peripheral device 150 may include one or more motion sensors (e.g.,accelerometers, IMUs, GPS sensors, radar, sonar, and the like) thatprovide indications of a location or orientation of peripheral device150 or other objects within a physical environment. In addition,peripheral device 150 may include a presence-sensitive surface, such asa surface that uses capacitive, conductive, resistive, acoustic, orother technology to detect touch and/or hover input. In some examples,the surface of peripheral device 150 is a touchscreen (e.g., acapacitive touchscreen, resistive touchscreen, surface acoustic wave(SAW) touchscreen, infrared touchscreen, optical imaging touchscreen,acoustic pulse recognition touchscreen, or any other touchscreen).Peripheral device 150 may also include one or more integrated imagecapture devices configured to capture image data representative of thephysical environment. As illustrated in FIG. 4, peripheral device 150includes reference cameras 158A and 158B (collectively, “referencecameras 158”).

Portable docking station 120D may be substantially similar to portabledocking station 120B from FIG. 1B. Portable docking station 120Dincludes fixtures 124 and nose rest 126 configured to receive and holdHMD 112B in a fixed position relative portable docking station 120D.Portable docking station 120D also includes calibration target 128 as acheckerboard pattern on the interior front surface of portable dockingstation 120D directly in front of rigid frame front 102 of HMD 112B.

In some implementations, portable docking station 120D may be configuredto provide access to a power supply used to recharge HMD 112B andperipheral device 150 when placed in portable docking station 120D. Forexample, portable docking station 120D may include its own batteryand/or may be plugged into an electrical wall outlet or other externalpower supply. Portable docking station 120D may then provide a chargingcurrent to the rechargeable battery of HMD 112B and/or to a rechargeablebattery of peripheral device 150 via either wired charging or wireless(i.e., inductive) charging. In an alternative example, peripheral device150 may comprise a power supply used to recharge HMD 112B when both HMD112B and peripheral device 150 are placed in portable docking station120D.

As illustrated in FIG. 4, portable docking station 120D further includesfixtures 154A and 154B (collectively “fixtures 154”) configured toreceive and hold peripheral device 150 in a fixed position relative toportable docking station 120D. Fixtures 154 may comprise magnets orstructural features configured to engage with a portion of the edges ofperipheral device 150 to hold peripheral device 150 in the fixedposition. When both HMD 112B and peripheral device 150 are held in theirfixed positions within portable docking station 120D, reference cameras158 of peripheral device 150 may be positioned directly behind theeyepieces of rigid frame front 102 of HMD 112B to mimic a user's eyes.In this way, electronic display 103 of HMD 112B is within a field ofview of reference cameras 158 of peripheral device 150 when both HMD112B and peripheral device 150 are placed in portable docking station120D, and reference cameras 158 may be configured to capture image datarepresentative of a user's view of electronic display 103 of HMD 112B.In some examples, illuminators 116 may be positioned directly onelectronic display 103 such that illuminators 116 are within a field ofview of both eye-tracking cameras 114 of HMD 112B and reference cameras158 of peripheral device 150 when both HMD 112B and peripheral device150 are placed in portable docking station 120D. In these examples, theimages captured by reference cameras 158 include both illuminators 116and the images produced on electronic display 103.

As described above with respect to FIG. 1B, inside-out cameras 108 ofHMD 112B may be calibrated based on a known spatial relationship betweenthe fixed position of HMD 112B and the position of calibration target128 within portable docking station 120D. For example, a calibrationengine, executed on HMD 112B or peripheral device 150, may at leastdetermine intrinsic parameters of inside-out camera 108A based on imagesof the checkerboard pattern of calibration target 128 captured byinside-out camera 108A and the known spatial relationship between thefixed position of HMD 112B and the position of calibration target 128.The calibration engine may then configure inside-out camera 108A tooperate according to the determined parameters.

In addition, as described with respect to FIG. 1B, in order to calibrateeye-tracking camera 114A, for example, the calibration engine determinesthe spatial relationship between the position of eye-tracking camera114A in rigid frame front 102 of HMD 112B and the position ofcalibration target 130A on arm 104A of HMD 112B based on one or more offiducial marks 132A, 132B. For example, the calibration engine may atleast determine intrinsic parameters of eye-tracking camera 114A basedon images of the checkerboard pattern of calibration target 130Acaptured by eye-tracking camera 114A and the determined spatialrelationship between the position of eye-tracking camera 114A and theposition of calibration target 130A. The calibration engine may thenconfigure eye-tracking camera 114A to operate according to thedetermined parameters.

Electronic display 103 of HMD 112B and/or reference cameras 158 ofperipheral device 150 may be calibrated based on a known spatialrelationship between the fixed position of HMD 112B and the fixedposition of peripheral device 150. For example, the calibration enginemay determine parameters of electronic display 103 of HMD 112B based onimages produced on electronic display 103 that are captured by referencecameras 158 and the known spatial relationship between the fixedposition of HMD 112B and the fixed position of peripheral device 150when both HMD 112B and peripheral device 150 are placed in portabledocking station 120D. The calibration engine may then configureelectronic display 103 to operate according to the determinedparameters.

In other examples, portable docking station 120D may not includefixtures configured to receive and hold peripheral device 150. In theexample where peripheral device 150 may be placed freely in portabledocking station 120D, HMD 112B may include one or more fiducial marks152A, 152B positioned on the interior of rigid frame front 102 to ensurethat at least one of fiducial marks 152A, 152B is within the field ofview of reference cameras 158 of peripheral device 150 along withelectronic display 103 of HMD 112B. The calibration engine determinesthe spatial relationship between the fixed position of HMD 112B and theposition of peripheral device 150 based on one or more of fiducial marks152A, 152B on HMD 112B. For example, the calibration engine maydetermine parameters of electronic display 103 of HMD 112B based onimages produced on electronic display 103 that are captured by referencecameras 158 and the determined spatial relationship between the fixedposition of HMD 112B and the position of peripheral device 150 when bothHMD 112B and peripheral device 150 are placed in portable dockingstation 120D. The calibration engine may then configure electronicdisplay 103 to operate according to the determined parameters.

Although illustrated in FIG. 4 as being used with HMD 112B from FIG. 1Bhaving an eyeglass form factor with calibration targets 130 and fiducialmarks 132 on arms 104, peripheral device 150 may be associated with anytype of HMD, including any of HMD 112A from FIGS. 1A and 1C or HMD 212from FIG. 2. In the example of HMD 112A, peripheral device 150 and HMD112A may be stored, charged, and/or calibrated when placed in a portabledocking station similar to portable docking station 120D but withadditional calibration targets (not shown in FIG. 4) either included ona divider positioned between the HMD and peripheral device 150 withinthe portable docking station or included on peripheral device 150. Inthe example of HMD 212, peripheral device 150 and HMD 212 may be stored,charged, and/or calibrated when placed in a portable docking stationsimilar to portable docking station 220 but with space and/or fixturesto receive peripheral device 150.

FIG. 5 is a block diagram illustrating an example implementation of HMD112 and peripheral device 150 of FIG. 4 operating as an artificialreality system in accordance with the techniques of the disclosure. Inthis example, similar to FIG. 3, HMD 112 includes one or more processors302 and memory 304 that, in some examples, provide a computer platformfor executing an operating system 318, which may be an embedded,real-time multitasking operating system, for instance, or another typeof operating system. In turn, operating system 318 provides amultitasking operating environment for executing one or more softwarecomponents 450. Moreover, processors 302 are coupled to electronicdisplay 103, sensors 106, image capture devices 308 (e.g., inside-outcameras 108 and/or eye-tracking cameras 114), and illuminators 116. HMD112 further includes a rechargeable battery 306 coupled to a chargingcircuit 310, which is configured to receive a charging current viaeither a wired or wireless (i.e., inductive) connection and use thereceived current to recharge battery 306. In the example of FIG. 5,software components 450 operate to provide an overall artificial realityapplication. In this example, software applications 450 includeapplication engine 320, rendering engine 322, and pose tracker 326. Invarious examples, software components 450 operate similar to thecounterpart components 330 of FIG. 3.

As illustrated in FIG. 5, peripheral device 150 includes one or moreprocessors 402 and memory 404 that, in some examples, provide a computerplatform for executing an operating system 418, which may be anembedded, real-time multitasking operating system, for instance, oranother type of operating system. In turn, operating system 418 providesa multitasking operating environment for executing one or more softwarecomponents 430. In some examples, processors 402 and memory 404 may beseparate, discrete components. In other examples, memory 404 may beon-chip memory collocated with processors 402 within a single integratedcircuit. Processors 402 may comprise any one or more of a multi-coreprocessor, a controller, a DSP, an ASIC, a FPGA, or equivalent discreteor integrated logic circuitry. Memory 404 may comprise any form ofmemory for storing data and executable software instructions, such asRAM, ROM, PROM, EPROM, EEPROM, and flash memory.

Peripheral device 150 may coexist with HMD 112 and, in some examples,operate as an auxiliary input/output device for HMD 112 in the virtualenvironment. For example, as illustrated in FIG. 5, processors 402 arecoupled to one or more I/O interfaces 414 for communicating withexternal devices, such as a keyboard, game controllers, display devices,image capture devices, HMDs, and the like. Moreover, the one or more I/Ointerfaces 414 may include one or more wired or wireless networkinterface controllers (NICs) for communicating with a network.Processors 402 are also coupled to image capture devices 158. Peripheraldevice 150 further includes a rechargeable battery 406 coupled to acharging circuit 410, which is configured to receive a charging currentvia either a wired or wireless (i.e., inductive) connection and use thereceived current to recharge battery 406. In one or more aspects,peripheral device 150 may be a smartphone, tablet, or other hand-helddevice.

As described above with respect to FIG. 4, peripheral device 150 mayoperate as an artificial reality co-processing device to which some ofthe functions of HMD 112 are offloaded. In the example of FIG. 5,software components 430 of peripheral device 150 include calibrationengine 424. Calibration engine 424 may operate similar to thecounterpart component of calibration engine 324 of HMD 112 from FIG. 3to perform calibration of one or more components of HMD 112. Forexample, calibration engine 424 of peripheral device 150 may beconfigured to perform calibration of one or more of image capturedevices 308 (e.g., inside-out cameras 108 and/or eye-tracking cameras114), electronic display 103, sensors 106, and/or illuminators 116 ofHMD 112.

Similar to the examples described with respect to FIG. 3, calibrationengine 424 is configured to perform calibration of one or morecomponents of HMD 112 based on one or more images of a calibrationtarget captured by image capture devices 308 of HMD 112 and/or imagecapture devices 158 of peripheral device 150. Calibration engine 424 maybe triggered to perform calibration upon determining that one or bothHMD 112 and peripheral device 150 have been received by a portabledocking station and/or upon determining that one or both of rechargeablebatteries 306, 406 of HMD 112 and peripheral device 150, respectively,are charged to at least a threshold charge level while HMD 112 andperipheral device 150 are within the portable docking station.

In the case of calibrating one of image capture devices 308 of HMD 112,calibration engine 424 performs the calibration by determining intrinsicand/or extrinsic parameters of the one of image capture devices 308based on captured images of a calibration target and a spatialrelationship between a position of HMD 112 and a position of thecalibration target within the portable docking station. In the case ofcalibrating electronic display 103 of HMD 112, calibration engine 424performs the calibration by determining intrinsic and/or extrinsicparameters of electronic display 103 based on images produced on display103 that are captured by image capture devices 158 of peripheral device150 and a spatial relationship between a position of HMD 112 and aposition of peripheral device 150 within the portable docking station.Calibration engine 424 may be configured to update or adjust theparameters to correct for changes from initial calibration settings ofthe one of image capture device 308 and/or electronic display 103.Calibration engine 424 of peripheral device 150 then configures the oneof image capture devices 308 and/or electronic display 103 of HMD 112 tooperate according to the determined parameters.

In order to determine the camera parameters, calibration engine 424 maydetermine the spatial relationship between the position of HMD 112, theposition of peripheral device 150, and/or the position of thecalibration target within the portable docking station. In exampleswhere the portable docking station includes fixtures to receive and holdthe HMD and the peripheral device in a fixed position (e.g., portabledocking station 120D from FIG. 4), the spatial relationship is a knownspatial relationship. In other examples, calibration engine 424 maydetermine the spatial relationship between the position of HMD 112 andthe position of peripheral device 150 when both HMD 112 and peripheraldevice 150 are placed in the portable docking station based on one ormore fiducial marks 152 included on HMD 112.

Upon calibration of the one of image capture devices 308 and/orelectronic display 103 of HMD 112, calibration engine 426 of peripheraldevice 150 stores the updated intrinsic and/or extrinsic parameters 428of the one of image capture devices 308 and/or electronic display 103.Calibration engine 424 may then further calibrate one of illuminators116 and/or one of sensors 106 based on images of a calibration targetcaptured by the previously calibrated one of image capture devices 308.

FIG. 6 is a conceptual diagram illustrating example components of an HMD460 that may be calibrated when the HMD is placed in a portable dockingstation 490. HMD 460 may operate substantially similar to any of HMDs112A, 112B, and 212 from FIGS. 1A-1C and 2. HMD 460 is shown in FIG. 6as having a headset form factor for ease of illustrating the internalcomponents of HMD 460. In other examples, HMD 460 may comprise anotherform factor including an eyeglasses form factor. Portable dockingstation 490 may be substantially similar to any of portable dockingstations 120A-120C and 220 from FIGS. 1A-1C and 2.

HMD 460 includes eyepieces 462A, 462B in which the right eyepiece 462Ais configured to present images to the right eye of the user and theleft eyepiece 462B is configured to present images to the left eye ofthe user. Herein, the term “eyepiece” means a three-dimensionalgeometrical area where images of acceptable quality may be presented tothe user's eyes. In the example of FIG. 6, each of eyepieces 462A, 462Bincludes an electronic display 464A, 464B coupled to an imagingcomponent 466A, 466B for conveying images generated by the electronicdisplay 464A, 464B to eyepiece 462A, 462B where the user's eye ispositioned when the user is wearing HMD 460. Each of imaging components466A, 466B may be a lens, a mirror, or any other element having optical(i.e. focusing) power. Each of imaging components 466A, 466B may includea varifocal optical element having tunable or switchable optical power.

The calibration procedures described herein may include calibration ofelectronic displays 464A, 464B and/or imaging components 466A, 466B. Insome examples, HMD 460 may include a single electronic display toprovide images to both the user's eyes, sequentially or simultaneously.In other examples, HMD 460 may not include imaging components 466A,466B, and may instead include pupil-replicating waveguides used to carryimages in an angular domain generated by miniature projectors directlyto the user's eyes. In these examples, the calibration procedures mayinclude calibration of pupil-replicating waveguides, e.g. a colortransfer function of the pupil-replicating waveguides.

The calibration procedures described herein may also include calibrationof components within eyepieces 462A, 462B of HMD 460. Each of eyepieces462A, 462B may include an eye-tracking system for tracking position andorientation of the user's eyes in real-time. The eye-tracking system mayinclude an array of illuminators 467A, 467B for illuminating the user'seye, typically with invisible light such as infrared light, and a hotmirror 465A, 465B for reflecting the infrared light scattered by theuser's eye and eye region of the user's face while transmitting visiblelight from the electronic display 464A, 464B. The eye-tracking systemalso includes an eye-tracking camera 484A, 484B for detecting an imageof the user's eye with the pupil and reflections, so-called “glints,” ofilluminators 467A, 467B from the user's eye, for determining eyeposition and orientation. Herein, the term “eye region” denotes the areaof the user's face including the eyes. The eye region includes the eyeitself having a cornea, iris, and pupil. The eye-tracking system, namelyeye-tracking cameras 484A, 484B and illuminators 467A, 467B may need tobe calibrated to operate with an acceptable level of precision andfidelity of eye position and gaze angle determination within the area ofeyepieces 462A,462B.

The calibration procedures described herein further includes calibrationof a variety of image capture devices included on HMD 460, in additionto eye-tracking cameras 484A, 484B within eyepieces 462A, 462B. HMD 460includes inside-out cameras 482A, 482B for capturing image datarepresentative of the physical environment surrounding the user. HMD 460may further include a glabella camera 488 for capturing images of aglabella region of the user's face. The glabella camera 488 may be usedto determine the distance between the middle of a rigid body of HMD 460and the user's forehead or glabella for proper positioning and tuning ofcomponents within eyepieces 462A, 462B. HMD 460 may further include amouth camera 487 to capture images of the user's mouth region, e.g. tofacilitate speech recognition by HMD 460. Furthermore, HMD 460 mayinclude lower temporal cameras 486A, 486B for capturing images of a sideareas of the user's face to determine the distance between sides of theridged body of HMD 460 and the side areas of the user's face. Some orall of the cameras of the HMD 460 may require periodic calibration.

According to the techniques described in this disclosure, cameras,display units, sensors, illuminators, and other components of HMD 460may be calibrated when HMD 460 is placed in portable docking station490. In the example of FIG. 6, portable docking station 490 includescalibration targets of checkerboard patterns 492A, 492B on the interiorsurfaces of portable docking station 490 and convex reflectors 496A,496B positioned directly behind eyepieces 462A, 462B of HMD 460.Portable docking station 490 includes reference cameras 497A, 497B thatare also positioned directly behind eyepieces 462A, 462B of HMD 460 tocapture image data representative of a user's view of electronicdisplays 464A, 464B of HMD 460. Portable docking station 490 furtherincludes fixtures 494A, 494B configured to receive and hold an HMD in afixed position. Portable docking station 490 also includes a powersupply 498 used to recharge an HMD when placed in portable dockingstation 490. Power supply 498 may comprise a battery or an electricalconnector configured to plug to an electrical wall outlet or otherexternal power supply.

In some examples, portable docking station 490 may further include adocking station control unit 499 that includes one or moreprinted-circuit boards having one or more processors, memory, andhardware to provide an operating environment for executing programmableoperations to process and communicate data with external devices, suchas HMD 460, a peripheral device associated with HMD 460, an externalconsole, or a cloud-based computing system. For example, control unit499 of portable docking station 490 may receive calibration data, e.g.,the updated or adjusted parameters, of the components of HMD 460 andeither store the calibration data locally in a memory card withindocking station control unit 499 or upload the calibration data to acloud-based computing system for storage or processing while HMD 460 ischarging. In some examples, control unit 499 may handle at least someportion of the calibration processing for HMD 460. Control unit 499 ofportable docking station 490 may receive the calibration data from HMD460 via wireless transfer or a wired connection between HMD 460 andportable docking station 490. For example, fixtures 494A, 494B mayprovide a wired connection capable of carrying a charging current frompower supply 498 to HMD 460 and/or transferring data between HMD 460 andcontrol unit 499.

Docking station control unit 499 of portable docking station 490 mayfurther operate as a content uploading and software update station forHMD 460 and any peripheral device associated with HMD 460. In thisexample, control unit 499 may handle processing of images and othercontent captured by the image capture devices and sensors of HMD 460,and transfer of the content and/or software between HMD 460 and acloud-based computing system. As a further example, portable dockingstation 490 may include a docking station electronic display (not shown)for displaying charging status, calibration status, and/or softwareupdates, and for reviewing the content captured by the image captureddevices and sensors of HMD 460.

HMD 460 includes a control unit 480 coupled to the other components ofHMD 460, including electronic displays 464A, 464B, imaging components466A, 466B, illuminators 467A, 467B, eye-tracking cameras 484A, 484B,and inside-out cameras 482A, 482B. Control unit 480 may operatesubstantially similar to internal control unit 110 of HMDs 112A-112Bfrom FIGS. 1A-1C and internal control unit 210 of HMD 212 from FIG. 2.Moreover, in accordance with techniques of this disclosure, control unit480 includes a calibration engine that may operate substantially similarto calibration engine 324 of HMD 112 from FIG. 3. For example, duringoperation of HMD 460, control unit 480 generates images to be displayedby the electronic displays 464A, 464B, energizes the illuminators 467A,467B, obtains images of the eye regions from the correspondingeye-tracking cameras 484A, 484B, and determines user's gaze directionand convergence angle of the user's eyes from the eye pupils positionsand glints positions in the obtained images. Once the convergence anglehas been determined, control unit 480 may adjust the focal lengths ofimaging components 466A, 466B to lessen the vergence-accommodationconflict, that is, a discrepancy between the eye vergence angle and theeye focusing distance.

The calibration or re-calibration procedures described herein may beactivated when HMD 460 is placed in portable docking station 490, e.g.,to recharge the battery of HMD 460 and/or securely store HDM 460 whennot in use. Control unit 480 of HMD 460 may run various calibrationroutines during or immediately after HMD 460 is charged so as to notcreate an additional maintenance step for the user of HMD 460. Forexample, to calibrate an image capture device of HMD 460, e.g., one ofinside-out cameras 482A, 482B or one of eye-tracking cameras 484A, 484B,control unit 480 may take an image of a calibration target using thecamera, and derive a camera model by comparing the obtained image withthe target. Control unit 480 may also determine a calibration drift bycomparing the image to a reference image stored in memory. To determineintrinsic parameters of the camera, control unit 480 may usecheckerboard patterns 492A, 492B as the calibration targets. Todetermine extrinsic parameters of eye-tracking cameras 484A, 448B and/orto calibrate illuminators 467A, 467B, control unit 480 may use convexreflectors 496A, 496B as the calibration targets.

To calibrate electronic displays 464A, 464B, control unit 480 may makeuse of reference cameras 497A, 497B positioned within portable dockingstation 490 such that they appear within the corresponding eyepieces462A, 462B of HMD 460 when HMD 460 is placed in portable docking station490. Reference cameras 497A, 497B may have field of view, spatialresolution, and brightness and color sensitivity similar to those of ahuman eye. Reference cameras 497A, 497B are configured to capture imagesproduced by electronic displays 464A, 464B. For purposes of calibration,the images produced by electronic displays 464A, 464B may be of acalibration target, such as checkboard patterns 492A, 492B. In someexamples, control unit 480 may calibrate different components of HMD 460in parallel, i.e. concurrently, to save time.

Checkerboard patterns 492A, 492B may be used as calibration targets forcalibrating components of HMD 460 including eye-tracking cameras 484A,484B, glabella camera 488, mouth camera 487, lower temporal cameras486A, 486B, inside-out cameras 482A, 482B, and electronic displays 464A,464B. Convex reflectors 496A, 496B may be used as calibration targetsfor calibrating components of HMD 460 included eyepieces 462A, 462B suchas eye-tracking cameras 484A, 484B and illuminators 487A, 487B. Theeye-tracking system operates by energizing illuminators 487A, 487B anddetecting reflections or glints of illuminators 487A, 487B in an imageof a human eye obtained by eye-tracking cameras 484A, 484B. For thecalibration process described herein, convex reflectors 486A, 496B areused in place of a human eye such that the glints of illuminators 467A,467B are detected on the convex surfaces of convex reflectors 496A,496B. For ease of calibration, the radius of curvature of a convexreflector may be selected to be close to a typical radius of curvatureof human eye's cornea. Since the position of the convex reflectors 496A,496B within portable docking station 490 is known, the components of theeye-tracking system may be calibrated to yield the correct position.Furthermore, brightness of the glints may be compared to pre-definedbrightness values to determine if the light emitted by illuminators467A, 467B remains within eye-safe limits.

In order to perform calibration using checkerboard patterns 492A, 492B,control unit 480 configures one of the cameras, e.g. eye-tracking camera484A, to capture images of one of checkerboard patterns 492A, 492B,e.g., checkerboard pattern 492A. Eye-tracking camera 484A capturesimages of checkerboard pattern 492A in infrared light emitted byilluminator 467A and reflected from the hot mirror 465A through thecorresponding imaging component 466A. As one example, the entire imagingpath of eyepiece 462A may have optical aberrations resulting in cornerdistortion of the captured images. Since the geometry of checkerboardpattern 492A is known, control unit 480 may correct for the cornerdistortion.

Control unit 480 may compare the captured images to a pinhole cameraimage of a reference checkerboard pattern and displacements (i.e.,errors) for each white and black feature of checkerboard pattern 492A inthe captured images relative to the corresponding white and blackfeature of the pinhole camera image of the reference checkerboardpattern may be determined. Control unit 480 may then build a cameramodel based on the determined positions of the white and black featuresin the captured images. The camera model may also be based on a pinholecamera model with tabulated reprojection errors. Once the camera modelis determined, control unit 480 may correct the distortion. Thiscorrection allows control unit 480 to capture undistorted images usingeye-tracking camera 484A, which enables better glint locationdetermination and, consequently, better eye-tracking. Other cameras onHMD 460 may be calibrated in a similar manner using checkerboardpatterns 492A, 492B.

In order to perform calibration using convex reflectors 496A, 496B,control unit 480 configures one of the cameras, e.g. eye-tracking camera484A, to capture images of illuminator glints reflected by one of convexreflectors 496A, 496B, e.g., convex reflector 496A. To capture theimages, illuminator 467A is energized to produce illuminating light, andthen eye-tracking camera 484A captures an image of convex reflector 496Athat includes calibration illuminator glints or reflections of the arrayof LEDs included in illuminator 467A from convex reflector 496A. Controlunit 480 then determines the positions of the calibration illuminatorglints in the captured images. As one example, the captured images ofconvex reflector 496A may include calibration illuminator glints atpositions that are offset relative to predetermined reference positions.The reference positions of the illuminator glints may be determinedduring a previous in-field calibration or during a factory calibration.

Control unit 480 may correct the determined positions using a cameramodel of eye-tracking camera 484A built during a previously performedcamera calibration. Based on the camera model, control unit 480 maydetermine offsets of the corrected positions of the calibrationilluminator glints relative to the reference positions. The determinedoffsets may indicate a drift of the eye-tracking system elementsextrinsic to eye-tracking camera 484A, such as illuminator 467A andelectronic display 464A. Once the drift of the eye-tracking system isquantified in this manner, control unit 480 may correct the drift.

In some examples, control unit 480 may also measure brightness of thecalibration illuminator glints in the captured images. Control unit 480may compare the measured brightness in the captured images topredetermined brightness values stored in memory or brightness values ofthe reference illuminator glints. If the measured brightness of thecalibration illuminator glints in the captured images is higher than athreshold, e.g., the predetermined brightness values or the brightnessvalues of the reference illuminator glints, control unit 480 may reducethe optical power levels of light emitted by illuminator 467A to staywithin eye-safe limits. In additional examples, portable docking station490 may include a beam profiler, e.g., one or more of references cameras497A, 497B or another dedicated camera (not shown in FIG. 6), todetermine whether a shape and/or intensity of illuminators 467A, 467Bhas changed during operation. In one example, portable docking station490 may further include an optical power meter used to measure theintensity of illuminators 467A, 467B based on images captured by thebeam profiler.

FIG. 7 is a flow chart illustrating an example operation of calibratingcomponents of an HMD when placed in a portable docking station, inaccordance with the techniques of the disclosure. The example operationis described with respect to HMD 112A and portable docking station 120Afrom FIG. 1A. In other examples, the example operation may be performedwith respect to any of HMDs 112A-112B or 212 and any of portable dockingstations 120A-120D and 220 from FIGS. 1A-1C, 2, and 4.

Portable docking station 120A receives HMD 112A having at least oneimage capture device, e.g., inside-out cameras 108 and eye-trackingcameras 114 (500). Portable docking station 120A includes a calibrationtarget 122A, 122B that is within a field of view of the image capturedevice of HMD 112A when HMD 112A is placed in portable docking station120A.

A calibration engine, executed on HMD 112A or a peripheral deviceassociated with HMD 112A, determines that the at least one image capturedevice of HMD 112A is to be calibrated (502). In one example, thecalibration engine may determine that the image capture device of HMD112A is to be calibrated upon determining that HMD 112A has beenreceived by portable docking station 120A based on a proximity sensor ora magnetic sensor included in HMD 112A and/or portable docking station120A. In another example, the calibration engine may determine that theimage capture device of HMD 112A is to be calibrated upon determiningthat a rechargeable battery of HMD 112A is fully charged while HMD 112Ais within portable docking station 120A.

Upon determining that the at least one image capture device of HMD 112Ais to be calibrated, the calibration engine configures the at least oneimage capture device of HMD 112A to capture one or more images ofcalibration target 122A, 122B that are within a field of view of the atleast one image capture device when HMD 112A is placed in portabledocking station 120A (504). The calibration engine may, in someexamples, determine a spatial relationship between a position of HMD112A and a position of calibration target 122A, 122B within portabledocking station 120A (506). In the example of FIG. 1A, portable dockingstation 120A includes fixtures 124 and nose rest 126 that receive andhold HMD 112A in a fixed position within portable docking station 120Asuch that the spatial relationship is a known spatial relationshipbetween the fixed position of HMD 112A and the position of calibrationtarget 122A, 122B included in portable docking station 120A. In anotherexample, as described above with respect to FIG. 1C, the HMD may not beheld in a fixed position within the portable docking station. In thisexample, the calibration engine may determine the spatial relationshipbetween a position of the HMD and a position of the calibration targetwithin the portable docking station based on one or more fiducial marksadjacent to or embedded within the at least one calibration target.

The calibration engine then analyzes the one or more images ofcalibration target 122A, 122B captured by the image capture device ofHMD 112A, and calibrates the at least one image capture device of HMD112A by determining intrinsic parameters and/or extrinsic parameters ofthe image capture device based on the captured one or more images andthe spatial relationship between HMD 112A and calibration target 122A,122B (508). The calibration engine may be configured to update or adjustthe parameters to correct for changes from initial calibration settingsof the image capture device of HMD 112A. The calibration engine thenconfigures the at least one image capture device of HMD 112A to operateaccording to the determined intrinsic and/or extrinsic parameters (510).Example extrinsic parameters adjusted by the calibration engine mayinclude the rotation and translation used to transform from the 3Dreal-world coordinates to the 3D camera coordinates. Example intrinsicparameters adjusted by the calibration engine may include the focallength, the principal point, and the skew coefficient used to transformthe 3D camera coordinates into the 2D image coordinates. In someexamples, the parameters adjusted by the calibration engine may furtherinclude lens distortion parameters.

As one example, the calibration engine may calibrate eye-tracking camera114A of HMD 112A by determining intrinsic parameters of eye-trackingcamera 114A, for example, based on images of the checkerboard pattern ofcalibration target 122A captured by eye-tracking camera 114A, andconfiguring eye-tracking camera 114A to operate according to thedetermined intrinsic parameters. Continuing the example, the calibrationengine may also calibrate eye-tracking camera 114A by determiningextrinsic parameters of eye-tracking camera 114A based on images ofreflected light captured by eye-tracking camera 114A, where the light isemitted by illuminator 116A of HMD 112A and reflected by a convexreflector included in portable docking station 112A, and furtherconfiguring eye-tracking camera 114A to operate according to thedetermined extrinsic parameters. In other examples, the calibrationengine may calibrate at least one of inside-out cameras 108 of HMD 112Ain a similar manner. The calibration engine may be further configured tocalibrate at least one of display 103, illuminators 116, or sensors 106of HMD 112A with respect to the at least one image capture device of HMD112A.

As described by way of various examples herein, the techniques of thedisclosure may include or be implemented in conjunction with anartificial reality system. As described, artificial reality is a form ofreality that has been adjusted in some manner before presentation to auser, which may include, e.g., a virtual reality (VR), an augmentedreality (AR), a mixed reality (MR), a hybrid reality, or somecombination and/or derivatives thereof. Artificial reality content mayinclude completely generated content or generated content combined withcaptured content (e.g., real-world photographs). The artificial realitycontent may include video, audio, haptic feedback, or some combinationthereof, and any of which may be presented in a single channel or inmultiple channels (such as stereo video that produces athree-dimensional effect to the viewer). Additionally, in someembodiments, artificial reality may be associated with applications,products, accessories, services, or some combination thereof, that are,e.g., used to create content in an artificial reality and/or used in(e.g., perform activities in) an artificial reality. The artificialreality system that provides the artificial reality content may beimplemented on various platforms, including a head-mounted device (HMD)connected to a host computer system, a standalone HMD, a mobile deviceor computing system, or any other hardware platform capable of providingartificial reality content to one or more viewers.

The techniques described in this disclosure may be implemented, at leastin part, in hardware, software, firmware or any combination thereof. Forexample, various aspects of the described techniques may be implementedwithin one or more processors, including one or more microprocessors,DSPs, application specific integrated circuits (ASICs), metalprogrammable gate arrays (MPGAs), or any other equivalent integrated ordiscrete logic circuitry, as well as any combinations of suchcomponents. The term “processor” or “processing circuitry” may generallyrefer to any of the foregoing logic circuitry, alone or in combinationwith other logic circuitry, or any other equivalent circuitry. A controlunit comprising hardware may also perform one or more of the techniquesof this disclosure.

Such hardware, software, and firmware may be implemented within the samedevice or within separate devices to support the various operations andfunctions described in this disclosure. In addition, any of thedescribed units, modules or components may be implemented together orseparately as discrete but interoperable logic devices. Depiction ofdifferent features as modules or units is intended to highlightdifferent functional aspects and does not necessarily imply that suchmodules or units must be realized by separate hardware or softwarecomponents. Rather, functionality associated with one or more modules orunits may be performed by separate hardware or software components orintegrated within common or separate hardware or software components.

The techniques described in this disclosure may also be embodied orencoded in a computer-readable medium, such as a computer-readablestorage medium, containing instructions. Instructions embedded orencoded in a computer-readable storage medium may cause a programmableprocessor, or other processor, to perform the method, e.g., when theinstructions are executed. Computer readable storage media may includerandom access memory (RAM), read only memory (ROM), programmable readonly memory (PROM), erasable programmable read only memory (EPROM),electronically erasable programmable read only memory (EEPROM), flashmemory, a hard disk, a CD-ROM, a floppy disk, a cassette, magneticmedia, optical media, or other computer readable media.

What is claimed is:
 1. A system comprising: a head mounted display (HMD)comprising at least one image capture device; a portable docking stationconfigured to receive the HMD, the portable docking station including atleast one calibration target that is within a field of view of the atleast one image capture device when the HMD is placed in the portabledocking station; and a processor executing a calibration engineconfigured to calibrate the at least one image capture device of the HMDbased on one or more images of the at least one calibration targetcaptured by the at least one image capture device when the HMD is placedin the portable docking station.
 2. The system of claim 1, wherein theHMD further comprises one or more of a display, at least oneilluminator, or at least one sensor, and wherein the calibration engineis further configured to calibrate at least one of the display, the atleast one illuminator, or the at least one sensor with respect to the atleast one image capture device.
 3. The system of claim 1, wherein tocalibrate the at least one image capture device, the calibration engineis configured to: determine one or more of intrinsic parameters orextrinsic parameters of the at least one image capture device based onthe one or more images of the at least one calibration target capturedby the at least one image capture device when the HMD is placed in theportable docking station; and configure the at least one image capturedevice of the HMD to operate according to the one or more of theintrinsic parameters or the extrinsic parameters.
 4. The system of claim1, wherein the HMD further comprises at least one illuminator; whereinthe at least one image capture device comprises an eye-tracking camera;wherein the at least one calibration target included in the portabledocking station comprises a convex reflector for reflecting lightemitted by the at least one illuminator towards the eye-tracking camera;and wherein the calibration engine is configured to determine extrinsicparameters of the eye-tracking camera based on one or more images of thereflected light captured by the eye-tracking camera.
 5. The system ofclaim 1, wherein the at least one image capture device comprises aneye-tracking camera; wherein the at least one calibration targetincluded in the portable docking station comprises a checkerboardpattern within the field of view of the eye-tracking camera; and whereinthe calibration engine is configured to determine intrinsic parametersof the eye-tracking camera based on one or more images of thecheckerboard pattern captured by the eye-tracking camera.
 6. The systemof claim 1, wherein the at least one calibration target included in theportable docking station includes one or more fiducial marks eitheradjacent to the at least one calibration target or embedded within theat least one calibration target; and wherein the calibration engine isconfigured to: determine a spatial relationship between a position ofthe HMD when the HMD is placed in the portable docking station and aposition of the at least one calibration target within the portabledocking station based on the one or more fiducial marks, and calibratethe at least one image capture device further based on the determinedspatial relationship between the position of the HMD and the position ofthe at least one calibration target.
 7. The system of claim 1, whereinthe portable docking station includes one or more fixtures configured toreceive and hold the HMD in a fixed position when the HMD is placed inthe portable docking station; and wherein the calibration engine isconfigured to calibrate the at least one image capture device furtherbased on a known spatial relationship between the fixed position of theHMD and a position of the at least one calibration target within theportable docking station.
 8. The system of claim 1, wherein thecalibration engine is configured to calibrate the at least one imagecapture device in response to at least one of determining that the HMDhas been received within the portable docking station or determiningthat a rechargeable battery of the HMD is charged to at least athreshold charge level while the HMD is within the portable dockingstation.
 9. The system of claim 1, further comprising a charging circuitconfigured to charge a rechargeable battery of the HMD when the HMD isplaced in the portable docking station.
 10. The system of claim 1,wherein the at least one image capture device of the HMD comprises atleast one first image capture device, further comprising a peripheraldevice comprising at least one second image capture device, wherein theportable docking station is further configured to receive the peripheraldevice adjacent to the HMD and position the peripheral device such thata display of the HMD is within a field of view of the at least onesecond image capture device when the HMD is placed in the portabledocking station.
 11. The system of claim 10, wherein the calibrationengine is further configured to calibrate the display of the HMD and theat least one second image capture device of the peripheral device basedon one or more images produced on the display of the HMD that arecaptured by the at least one second image capture device when both theHMD and the peripheral device are placed in the portable dockingstation.
 12. The system of claim 11, wherein the HMD includes one ormore fiducial marks that are within the field of view of the at leastone second image capture device of the peripheral device when both theHMD and the peripheral device are placed in the portable dockingstation; and wherein the calibration engine is configured to: determinea spatial relationship between a position of the HMD and a position ofthe peripheral device when both the HMD and the peripheral device areplaced in the portable docking station based on the one or more fiducialmarks, and calibrate the display of the HMD and the at least one secondimage capture device of the peripheral device further based on thedetermined spatial relationship between the position of the HMD and theposition of the peripheral device.
 13. The system of claim 10, whereinthe processor is integrated within one of the HMD or the peripheraldevice.
 14. The system of claim 1, wherein the portable docking stationcomprises one of a carrying case or a cover for the HMD.
 15. The systemof claim 1, wherein the HMD comprises artificial reality glasses, andwherein the at least one calibration target is positioned at a locationalong an arm of the artificial reality glasses so that the at least onecalibration target is within the field of view of the at least one imagecapture device when the arm of the artificial reality glasses is foldedfor placement of the artificial reality glasses in the portable dockingstation.
 16. The system of claim 1, wherein the processor is integratedwithin the HMD.
 17. A method comprising: receiving, by a portabledocking station, a head mounted display (HMD) comprising at least oneimage capture device, wherein the portable docking station includes atleast one calibration target that is within a field of view of the atleast one image capture device when the HMD is placed in the portabledocking station; determining that the at least one image capture deviceof the HMD is to be calibrated; and calibrating the at least one imagecapture device of the HMD based on one or more images of the at leastone calibration target captured by the at least one image capture devicewhen the HMD is placed in the portable docking station.
 18. The methodof claim 17, wherein determining that the at least one image capturedevice of the HDM is to be calibrated comprises determining that the HMDhas been received by the portable docking station based on one of aproximity sensor or a magnetic sensor.
 19. The method of claim 17,wherein determining that the at least one image capture device of theHDM is to be calibrated comprises determining that a rechargeablebattery of the HMD is charged to at least a threshold charge level whilethe HMD is within the portable docking station.
 20. A non-transitorycomputer-readable medium comprising instruction that, when executed,cause on or more processors to: determine that a head mounted display(HMD) has been received by a portable docking station, wherein theportable docking station includes at least one calibration target thatis within a field of view of at least one image capture device of theHMD when the HMD is placed in the portable docking station; determinethat the at least one image capture device of the HMD is to becalibrated; and calibrate the at least one image capture device of theHMD based on one or more images of the at least one calibration targetcaptured by the at least one image capture device when the HMD is placedin the portable docking station.